﻿package problemfactories;

import helpers.NotImplementedException;
import problems.cigarettesmokers.*;

public class CigaretteSmokersFactory implements IProblemFactory<AbstractCigaretteSmokerSolution>
{
	@Override
    public AbstractCigaretteSmokerSolution getSolution()
    {
        return new CigaretteSmokerSolution();
    }

	@Override
    public AbstractCigaretteSmokerSolution getSolutionWithDeadlock()
    {
        return new CigaretteSmokerWithDeadlock();
    }

	@Override
    public AbstractCigaretteSmokerSolution getSolutionWithRaceCondition() throws NotImplementedException
    {
        throw new NotImplementedException();
    }

	@Override
    public AbstractCigaretteSmokerSolution getSolutionWithDatarace() throws NotImplementedException
    {
        throw new NotImplementedException();
    }
}